package com.central.apps.service;

import com.central.apps.entity.*;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface OverhaulMgService {

    // 生成巡点检工单主信息
    int genInspectionWorkorder(String wonum,String desc,String woType,BlWorkorder BlWorkorder);
    //查找需要生成的巡点检计划
    void queryInspectionPlan(String PlanType) throws Exception;

    // 更新下次执行时间
    void updateNextTime(int id,String nextDate);

    // 计算下次执行时间
    String getNextexDate(Date exDate, String frequency, String cycle);

    // 查询最大的工单编号
    String quryMaxWonum(String woType,String woFax);

    // 获取巡点检区域编号       巡点检区域/检修区域
    String quryQyNum(int id);

    // 根据巡点检区域编号  获取位置列表
    List<BlInsparealocation> quryLocationList(String insaenum);

    // 向 工单表插入 巡检区域中的位置列表
    void insertWoLocation(String wonum,String location,String desc);

    // 根据巡检区域编号获取 巡检资产列表
    List<BlInsparealine> queryAssetList(String insaenum);

    // 向 工单表插入 巡检区域中的资产列表
    void insertWoAsset(String wonum,String assetnum,String desc);

    // 获取巡点检标准编号
    String quryBZNum(int id);

    // 根据巡点检标准编号获取 巡检任务列表
    List<BlInspectionstandardline> quryTaskList(String insaenum);


    // 向 工单表插入 巡检区域中的资产列表
    void insertWoTask(String wonum,BlInspectionstandardline task);

    //  根据 路线向工单插入 多资产  多位置
    String insertLxToWorkoder(String wonum,String LxNum);

    //  根据 标准编号 向工单插入 工作任务哦·
    String insertTaskToWorkoder(String wonum,String TaskNum);


    String TestCreate() throws Exception;

    // 根据路线 编码  返回工单位置表
    List<Map<String, Object>> returnLxLoationBean(List<BlInsparealocation> blInspectlocation);

    // 根据路线 编码  返回工单资产表
    List<Map<String, Object>> returnLxAssetBean(List<BlInsparealine> BlInsparealine);

    List<Map<String, Object>> returnTaskBean(List<BlInspectionstandardline> BlInspectionstandardline);

    //工单主信息
    Map<String,Object> returnWorkorderMain(Map<String, Object> workoder,List<Map<String, Object>> Asset,List<Map<String, Object>> Location,List<Map<String, Object>> Task);

    void queryJwXPlan(String PlanType) throws Exception;
}
